The recent emphasis in the development of manufacturing technology has been directed toward the development of automated systems that eliminate most of the human interaction. Such manufacturing environments employ computer-controlled machine tools that are driven by computer programs, which define the tool motion, also referred to as tool-paths. Typically, a Computer Aided Design (CAD) workstation generates the tool paths automatically by processing the description of a mechanical component created by a designer. Although this environment provides a relatively high degree of automation for manufacturing of simple components that do not require high precision machining, human intervention is required for precision machining of relatively complicated shapes. The areas that still require significant and expensive human input include quality control procedures and fixturing methods.
Prior art CAD stations generate the tool paths that are valid only if a workpiece, which has to be machined into a mechanical component, is fixtured at a predetermined location of a machine table. Therefore, if a workpiece has to be moved from one machine to another at a particular stage of manufacturing, or if it has to be machined at different orientations, a human operator or a robot is required to refixture the workpiece accurately, which is a very difficult, time-consuming, and costly operation. However, this refixturing operation would be significantly simplified if the precise position and orientation of an approximately or randomly fixtured workpiece could be determined automatically or semi-automatically, since, on the basis of this information, the tool paths could be adjusted for accurate machining using conventional geometrical transformations. To date, accurate and efficient methods of localizing randomly and approximately fixtured workpieces have not been developed.
Also, precise fixturing plays an important role in automated quality control procedures. It is impossible to ascertain whether a mechanical component has been manufactured properly unless the relative location of the component is accurately determined with respect to the coordinate system of the model that defines the desired dimensions, which are typically stored in the CAD workstation.
Some progress has been made toward the development of an inspection system that determines whether a mechanical component is within tolerance. U.S. Pat. No. 4,754,417, issued to Beeson, discloses an inspection system which measures tolerance by comparing the coordinate data measured by manually moving a probe to certain features (the only disclosed features are holes) of a mechanical component, and the desired dimensions entered into a data processing system by a user. This disclosure is limited to the mechanical components which can be defined as two-dimensional objects. Furthermore, the inspection procedure discussed in this disclosure is possible only when a finished component is available. Thus, this system cannot be utilized for in-process inspection in order to detect and correct defects at the intermediate stages of manufacture. In addition, this system can only provide a user with a binary, "GO/ NO GO", decision that indicates whether a given component is within tolerance. No disclosure is made for determining accurate position and orientation of the component. An inspection system disclosed in U.S. Pat. No. 4,296,474 issued to Hurt also does not handle three-dimensional features, it does not allow for in-process inspection, and it does not generate accurate positioning data.